/*
用ES2015的WeakMap实现类有一种数据类型可以确保属性是私有的，
这就是WeakMap。
WeakMap允许你在类的实例之间共享数据，同时保持数据的隔离性和不可枚举性。
*/
const items = new WeakMap();
class Stack{
    constructor()
    {
        //为当前的Stack实例设置一个空数组作为初始值。this代表当前的Stack实例，
        //所以items.set(this, [])将当前实例作为键，
        //并将一个空数组作为值存储到WeakMap中。
        items.set(this,[]);
    }

    push(element)
    {
        //通过items.get(this)获取当前实例对应的数组
        const s= items.get(this);
        s.push(element);
    }

    peek()
    {
        const s = items.get(this);
        return s[s.length-1];
    }
}